package com.bw.lib_base

import android.app.Application
import com.alibaba.android.arouter.launcher.ARouter
import com.tencent.mmkv.BuildConfig
import com.tencent.mmkv.MMKV
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch

open class BaseApp :Application(){
    override fun onCreate() {
        super.onCreate()
        MMKV.initialize(this)

        if (BuildConfig.DEBUG){
            ARouter.openDebug()
            ARouter.openLog()
        }
        ARouter.init(this)


    }

    /**
     * 异步初始化
     * 方式：
     * 1.创建线程
     * 2.创建一个单一线程的线程池
     * 3.AsyncTask
     * 4.Kotlin协程
     */
    private fun lazyInitTask(){
        GlobalScope.launch(Dispatchers.IO) {
            try {
                //初始化
            }catch (e:Exception){
                e.printStackTrace()
            }finally {
                cancel()
            }
        }
    }
}